import { ref } from "vue"
import { GetCodeApi } from "@/api/common"

/**
 * 使用验证图片逻辑的自定义 Hook
 * 该 Hook 用于获取验证图片并更新验证图片 URL
 * @returns {Object} 包含验证图片 URL 和更新验证图片方法的对象
 */
export function useValidateImage() {
    // 创建 ref 来存储验证图片的 URL
    const validate_image_url = ref("")

    // 定义更新验证图片的方法
    const update_validate_image = async () => {
        // 生成随机数作为请求参数
        const t = Math.random() * 9999

        // 调用获取验证码 API
        let res = await GetCodeApi({ t: t })

        // 如果获取验证码成功，则更新验证图片 URL
        if (res.success) {
            validate_image_url.value = "data:image/jpeg;base64," + res.entity;
        }
    }

    // 初始化时调用更新验证图片的方法
    update_validate_image();

    // 返回包含验证图片 URL 和更新验证图片方法的对象
    return {
        validate_image_url,
        update_validate_image
    };
}
